1. Field of the Invention
The present invention relates to a computer program product, system, and method for using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time.
2. Description of the Related Art
In a storage environment, a storage controller may create point-in-time (“PiT”) copies of a production volume using point-in-time copy techniques, such as the IBM FlashCopy® (FlashCopy is a registered trademark of IBM), snapshot, etc. A point-in-time copy replicates data in a manner that appears instantaneous and allows a host to continue accessing the source volume while actual data transfers to the copy volume are deferred to a later time. The point-in-time copy appears instantaneous because complete is returned to the copy operation in response to generating the relationship data structures without copying the data from the source to the target volumes. Point-in-time copy techniques typically defer the transfer of the data in the source volume at the time the point-in-time copy relationship was established to the copy target volume until a write operation is requested to that data block on the source volume. Data transfers may also proceed as a background copy process with minimal impact on system performance. The point-in-time copy relationships that are immediately established in response to the point-in-time copy command include a bitmap or other data structure indicating the location of blocks in the volume at either the source volume or the copy volume. The point-in-time copy comprises the combination of the data in the source volume and the data to be overwritten by the updates transferred to the target volume.
When an update to a block in the source volume involved in a point-in-time copy relationship is received, the copy of the track as of the point-in-time must be copied to a side file or the target volume before the new data for the track is written to the source volume, overwriting the point-in-time copy of the data.
If the data in the source volume becomes corrupted or invalid, that corruption is also mirrored to the mirror copy, which may comprise a point-in-time copy, such that both versions of the data have been corrupted at this point. The point-in-time copies may be used as recovery points to try to recover the source volume to a point where the data has no corruption. However, it can be cost prohibitive to maintain numerous point-in-time copies to allow recovery to a closest point-in-time where there was valid data prior to being corrupted.